import("//clang/utils/TableGen/clang_tablegen.gni")

clang_tablegen("OpenCLBuiltins") {
  args = [ "-gen-clang-opencl-builtins" ]
}

static_library("Sema") {
  output_name = "clangSema"
  configs += [ "//llvm/utils/gn/build:clang_code" ]
  deps = [
    ":OpenCLBuiltins",
    "//clang/include/clang/Basic:arm_cde_builtin_aliases",
    "//clang/include/clang/Basic:arm_cde_builtin_sema",
    "//clang/include/clang/Basic:arm_mve_builtin_aliases",
    "//clang/include/clang/Basic:arm_mve_builtin_sema",
    "//clang/include/clang/Basic:arm_sve_sema_rangechecks",
    "//clang/include/clang/Basic:riscv_vector_builtin_sema",
    "//clang/include/clang/Sema:AttrParsedAttrImpl",
    "//clang/include/clang/Sema:AttrParsedAttrKinds",
    "//clang/include/clang/Sema:AttrParsedAttrList",
    "//clang/include/clang/Sema:AttrSpellingListIndex",
    "//clang/include/clang/Sema:AttrTemplateInstantiate",
    "//clang/lib/AST",
    "//clang/lib/Analysis",
    "//clang/lib/Basic",
    "//clang/lib/Edit",
    "//clang/lib/Lex",
    "//clang/lib/Support",
    "//llvm/lib/Frontend/OpenMP",
    "//llvm/lib/MC",
    "//llvm/lib/Support",
    "//llvm/lib/TargetParser",
  ]
  sources = [
    "AnalysisBasedWarnings.cpp",
    "CodeCompleteConsumer.cpp",
    "DeclSpec.cpp",
    "DelayedDiagnostic.cpp",
    "HLSLExternalSemaSource.cpp",
    "IdentifierResolver.cpp",
    "JumpDiagnostics.cpp",
    "MultiplexExternalSemaSource.cpp",
    "ParsedAttr.cpp",
    "Scope.cpp",
    "ScopeInfo.cpp",
    "Sema.cpp",
    "SemaAccess.cpp",
    "SemaAttr.cpp",
    "SemaAvailability.cpp",
    "SemaCUDA.cpp",
    "SemaCXXScopeSpec.cpp",
    "SemaCast.cpp",
    "SemaChecking.cpp",
    "SemaCodeComplete.cpp",
    "SemaConcept.cpp",
    "SemaConsumer.cpp",
    "SemaCoroutine.cpp",
    "SemaDecl.cpp",
    "SemaDeclAttr.cpp",
    "SemaDeclCXX.cpp",
    "SemaDeclObjC.cpp",
    "SemaExceptionSpec.cpp",
    "SemaExpr.cpp",
    "SemaExprCXX.cpp",
    "SemaExprMember.cpp",
    "SemaExprObjC.cpp",
    "SemaFixItUtils.cpp",
    "SemaHLSL.cpp",
    "SemaInit.cpp",
    "SemaLambda.cpp",
    "SemaLookup.cpp",
    "SemaModule.cpp",
    "SemaObjCProperty.cpp",
    "SemaOpenMP.cpp",
    "SemaOverload.cpp",
    "SemaPseudoObject.cpp",
    "SemaRISCVVectorLookup.cpp",
    "SemaSYCL.cpp",
    "SemaStmt.cpp",
    "SemaStmtAsm.cpp",
    "SemaStmtAttr.cpp",
    "SemaTemplate.cpp",
    "SemaTemplateDeduction.cpp",
    "SemaTemplateInstantiate.cpp",
    "SemaTemplateInstantiateDecl.cpp",
    "SemaTemplateVariadic.cpp",
    "SemaType.cpp",
    "TypeLocBuilder.cpp",
  ]
}
